/* CLEANUP:
DROP CONSTRAINT "fk_product_category";
DROP TABLE "gallery";
DROP SEQUENCE "seq_gallery";
DROP TRIGGER "tr_gallery";
DROP TABLE "products";
DROP INDEX "idx_products_category";
DROP SEQUENCE "seq_products";
DROP TRIGGER "tr_products";
DROP TABLE "product_categories";
*/

CREATE TABLE "gallery" (
  "id_photo" NUMBER(11) CONSTRAINT "pk_gallery" PRIMARY KEY,
  "name" VARCHAR2(100) DEFAULT ''
);

COMMENT ON COLUMN "gallery"."id_photo" IS '@auto';
COMMENT ON COLUMN "gallery"."name" IS '@title Název fotky';
COMMENT ON TABLE "gallery"  IS '@wrapper GalleryTable @title Fotogalerie';


CREATE SEQUENCE "seq_gallery"
 INCREMENT BY 1
 START WITH 1
 NOMAXVALUE
 MINVALUE 0;

CREATE TRIGGER "tr_gallery"
 BEFORE INSERT ON "gallery"
 FOR EACH ROW
 begin
   select "seq_gallery".nextval into :new."id_photo" from dual;
 end;
/

INSERT INTO "gallery" ("id_photo", "name") VALUES (1, '');
INSERT INTO "gallery" ("id_photo", "name") VALUES (2, '');
INSERT INTO "gallery" ("id_photo", "name") VALUES (3, '');
INSERT INTO "gallery" ("id_photo", "name") VALUES (4, '');
INSERT INTO "gallery" ("id_photo", "name") VALUES (6, '');

CREATE TABLE "products" (
  "id_product" NUMBER(11) CONSTRAINT "pk_products" PRIMARY KEY,
  "category" VARCHAR2(20) NOT NULL,
  "name" VARCHAR2(50) NOT NULL,
  "perex" CLOB,
  "description" CLOB,
  "price" NUMBER(9,2)  DEFAULT 0.00 NOT NULL,
  "shift" NUMBER(11) DEFAULT 0 NOT NULL
);

COMMENT ON COLUMN "products"."id_product" IS '@auto';
COMMENT ON COLUMN "products"."category" IS '@title Kategorie';
COMMENT ON COLUMN "products"."name" IS '@title Název produktu @required';
COMMENT ON COLUMN "products"."perex" IS '@title Perex';
COMMENT ON COLUMN "products"."description" IS '@display -list @title Popis produktu';
COMMENT ON COLUMN "products"."price" IS '@title Cena';
COMMENT ON COLUMN "products"."shift" IS '@title Pořadí (od nejvyššího)';
COMMENT ON TABLE "products"  IS '@wrapper ProductAdminTable @title Produkty';

CREATE INDEX "idx_products_category" ON "products"("category");
CREATE SEQUENCE "seq_products"
 INCREMENT BY 1
 START WITH 1
 NOMAXVALUE
 MINVALUE 0;

CREATE TRIGGER "tr_products"
 BEFORE INSERT ON "products"
 FOR EACH ROW
 begin
   select "seq_products".nextval into :new."id_product" from dual;
 end;
/

INSERT INTO "products" ("id_product", "category", "name", "perex", "description", "price", "shift") VALUES
(2, 'budky', 'Budka pro rozhodčí - malá', 'budka pro 2 osoby', 'Budka pro drezurní rozhodčí vyrobená dle pravidel ČJF. Rozměry základny 160*130cm celková výška 240cm, výška podlahy 50cm, rám kovový, žárově zinkovaný, střecha sedlová, venkovní opláštění z palubek. Celkový vzhled lze upravit dle přání zákazníka.', 8900.00, 0);
INSERT INTO "products" ("id_product", "category", "name", "perex", "description", "price", "shift") VALUES
(4, 'trenink', 'Dřevěný stojan', 'Dřevěný stojan s kovovou základnou, vybavený eurolištou.', ' Velmi stabilní stojan s kovovou, čtyřnohou, žárově zinkovanou základnou, vybavený eurolištou. Plastové zakončení kovových částí pro vyšší bezpečnost Vás i Vašeho koně. Maximální výška bariéry 165cm. Vhodný též k oxerům u závodních parkurů. ', 1000.00, 101);
INSERT INTO "products" ("id_product", "category", "name", "perex", "description", "price", "shift") VALUES
(5, 'trenink', 'Stojan robust', 'Kovový, žárově zinkovaný stojan, vybavený eurolištou', 'Velmi stabilní stojan s kovovou, žárově zinkovanou konstrukcí, vybavený eurolištou. Plastové zakončení kovových částí pro větší bezpečnost Vás i Vašeho koně. Maximální výška bariéry 165cm.', 900.00, 90);
INSERT INTO "products" ("id_product", "category", "name", "perex", "description", "price", "shift") VALUES
(6, 'trenink', 'Stojan standard', 'Kovový, žárově zinkovaný stojan, vybavený eurolištou', 'Stabilní stojan s kovovou, žárově zinkovanou konstrukcí o třínohé základně vybavený eurolištou. Plastové zakončení kovových částí pro větší bezpečnost Vás i Vašeho koně. Maximální výška bariéry 160cm.  ', 750.00, 80);
INSERT INTO "products" ("id_product", "category", "name", "perex", "description", "price", "shift") VALUES
(7, 'trenink', 'Bariéra kulatá', 'Skoková soustružená bariéra. Průměr 10cm.', 'Smrková soustružená bariéra průměr 10cm v délkách 3m 3,5m a 4m. Možnost různých barevných provedení dle Vašeho přání  cena: 	Přírodní: 	3m   170Kč 			3,5m 220Kč 			4m   250Kč 	natřená:	3m   250Kč 			3,5m 300Kč 			4m   370Kč', 175.00, 75);
INSERT INTO "products" ("id_product", "category", "name", "perex", "description", "price", "shift") VALUES
(8, 'trenink', 'Profilová bariéra', 'Skoková profilová bariéra. Tloušťka 4cm, hoblovaná', 'Smrková hoblovaná bariéra o síle 4cm v délkách 3m 3,5m a 4m. Spevněná proti podélnému praskání, zaoblené hrany.  Možnost různých barevných provedení, tvarů a výřezů dle Vašeho přání.  cena: 	Přírodní: 	3m   230Kč 			3,5m 260Kč 			4m   290Kč 	natřená:	3m   300Kč 			3,5m 350Kč 			4m   400Kč', 230.00, 70);
INSERT INTO "products" ("id_product", "category", "name", "perex", "description", "price", "shift") VALUES
(9, 'trenink', 'Kavaleta s kovovým křížem', 'Žárově zinkováno', 'Tréninková kavaleta velmi pevné kovové konstrukce, umožňující nastavení ve třech různých výškách. Pro velmi dlouhou životnost jsou kříže opatřeny žárovým zinkováním. Možno zakoupit samotný kříž - cena 700Kč', 1600.00, 60);
INSERT INTO "products" ("id_product", "category", "name", "perex", "description", "price", "shift") VALUES
(10, 'trenink', 'Kavaleta s kovovým křížem', 'Žárově zinkováno + práškově lakováno', 'Tréninková kavaleta velmi pevné kovové konstrukce, umožňující nastavení ve třech různých výškách. Pro velmi dlouhou životnost jsou kříže opatřeny žárovým zinkováním a následným práškovým lakováním. Možno zakoupit samostatný kříž - cena 800 Kč', 1800.00, 55);
INSERT INTO "products" ("id_product", "category", "name", "perex", "description", "price", "shift") VALUES
(11, 'trenink', 'hák pro kulatou bariéru', 'Žárově zinkovaný.', 'Kovový, žárově zinkovaný hák se zaoblenými rohy určený pro uchycení do eurolišty. Rozměry dle pravidel ČJF, FEI.', 100.00, 50);
INSERT INTO "products" ("id_product", "category", "name", "perex", "description", "price", "shift") VALUES
(12, 'trenink', 'Rovný hák', 'Pro uchycení profilové bariéry.', 'Kovový, žárově zinkovaný hák se zaoblenými rohy určený pro uchycení do eurolišty. Rozměry dle pravidel ČJF a FEI.', 100.00, 45);
INSERT INTO "products" ("id_product", "category", "name", "perex", "description", "price", "shift") VALUES
(13, 'trenink', 'Stojan pro bariéry', 'Žárově zinkovaný.', 'Velmi stabilní stojan s kovovou, žárově zinkovanou konstrukcí pro skladování bariér. Plastové zakončení kovových částí. Maximální obsazenost 30 kulatých bariér.', 1450.00, 30);
INSERT INTO "products" ("id_product", "category", "name", "perex", "description", "price", "shift") VALUES
(14, 'trenink', 'Schůdky', 'Pro pohodlné nasedání.', 'Robustní, pevné schůdky pro pohodlné nasedání na koně, s protiskluzovou úpravou. Rám z oceli, žárově pozinkované. Dřevo modřín.', 2950.00, 0);
INSERT INTO "products" ("id_product", "category", "name", "perex", "description", "price", "shift") VALUES
(15, 'budky', 'Budka pro rozhodčí - velká', 'Budka pro 3 osoby.', 'Budka pro drezurní rozhodčí vyrobená dle pravidel ČJF. Rozměry základny 220*130cm celková výška 240cm, výška podlahy 50cm, rám kovový, žárově zinkovaný, střecha sedlová, venkovní opláštění z palubek. Celkový vzhled lze upravit dle přání zákazníka.', 11990.00, 0);
INSERT INTO "products" ("id_product", "category", "name", "perex", "description", "price", "shift") VALUES
(16, 'oplutky', 'Drezurní oplůtek - nízký', 'Nízký drezurní oplůtek vyroben dle pravidel ČJF.', 'Nízký drezurní oplůtek vyroben dle pravidel ČJF, výška cca 35cm délka 199cm, materiál dřevo-smrk, natřeno barvou atestovanou pro výrobu hraček a potřeb pro zvířata. Pro výrazně delší životnost jsou nohy ocelové opatřené žárovým zinkováním a následným  přáškovým lakováním. Ideální řešení, bude-li oplůtek celosezoně venku - Nohy od písku neodehnívají. V případě zakoupení celého obdélníku výrazné slevy. ', 500.00, 0);
INSERT INTO "products" ("id_product", "category", "name", "perex", "description", "price", "shift") VALUES
(17, 'oplutky', 'drezurní oplůtek - vysoký', 'Vysoký drezurní oplůtek vyrobený dle pravidel ČJF.', 'Vysoký drezurní oplůtek vyroben dle pravidel ČJF, výška cca 45cm délka 199cm, materiál dřevo-smrk, natřeno barvou atestovanou pro výrobu hraček a potřeb pro zvířata. Pro výrazně delší životnost jsou nohy ocelové opatřené žárovým zinkováním a následným  přáškovým lakováním. Ideální řešení, bude-li oplůtek celosezoně venku - Nohy od písku neodehnívají. V případě zakoupení celého obdélníku výrazné slevy. ', 650.00, 0);
INSERT INTO "products" ("id_product", "category", "name", "perex", "description", "price", "shift") VALUES
(18, 'pismena', 'Drezurní písmeno Velké', ' Vysoké, stabilní, volně stojící drezůrní písmeno.', 'Vysoké, stabilní, volně stojící drezůrní písmeno. Výška 80cm. materiál dřevo - smrk.', 950.00, 0);
INSERT INTO "products" ("id_product", "category", "name", "perex", "description", "price", "shift") VALUES
(19, 'trenink', 'Stojan dřevěný - kulatý', 'Dřevěný stojan s kovovou základnou, vybavený eurolištou.', 'Velmi stabilní stojan s kovovou, žárově zinkovanou konstrukcí, vybavený eurolištou. Maximální výška bariéry 165cm. Vhodný též k oxerům u závodních parkurů', 1000.00, 100);
INSERT INTO "products" ("id_product", "category", "name", "perex", "description", "price", "shift") VALUES
(20, 'trenink', 'Kavaleta dřevěná', 'Kavaleta s dřevěným křížem, zpevněná ocelovou, žárově zinkovanou konstrukcí', 'Kavaleta s dřevěným křížem, zpevněná ocelovou, žárově zinkovanou konstrukcí, v délkách 3 a 3,5metru', 890.00, 65);
INSERT INTO "products" ("id_product", "category", "name", "perex", "description", "price", "shift") VALUES
(21, 'trenink', 'Bazének', 'Imitace vodního příkopu', 'Imitace vodního příkopu z PVC plachty. Rozměry 270x120 cm, výška 10cm', 3300.00, 40);
INSERT INTO "products" ("id_product", "category", "name", "perex", "description", "price", "shift") VALUES
(23, 'trenink', 'Skoková lišta - pozinkovaná', 'Skoková euro lišta - pozinkovaná', 'Pozinkovaná skoková eurolišta. Délka 153cm počet otvorů 30. Žárové zinkování velmi zvyšuje životnost materiálu.', 210.00, 35);
INSERT INTO "products" ("id_product", "category", "name", "perex", "description", "price", "shift") VALUES
(24, 'trenink', 'Podstavec pro stojan', 'Sada podstavce pro kulatý stojan + Skoková lišta', 'Ideální řešení, zlomila-li se Vám skoková bariéra a je Vám líto ji vyhodit. Proto nabízímě tuto sadu pozinkovaného podstavce, pozinkované skokové lišty a spojovacího materiálu.', 670.00, 32);


CREATE TABLE "product_categories" (
  "ident" VARCHAR2(20) CONSTRAINT "pk_product_categories" PRIMARY KEY,
  "name" VARCHAR2(50) NOT NULL
);

COMMENT ON COLUMN "product_categories"."ident" IS '@display -editWrite';
COMMENT ON TABLE "product_categories"  IS '@noDisplay';

INSERT INTO "product_categories" ("ident", "name") VALUES ('budky', 'Budky pro rozhodčí');
INSERT INTO "product_categories" ("ident", "name") VALUES ('drezurni', 'Drezurní materiál');
INSERT INTO "product_categories" ("ident", "name") VALUES ('oplutky', 'Oplůtky');
INSERT INTO "product_categories" ("ident", "name") VALUES ('pismena', 'Písmena');
INSERT INTO "product_categories" ("ident", "name") VALUES ('skok', 'Skokový materiál');
INSERT INTO "product_categories" ("ident", "name") VALUES ('trenink', 'Tréninkový materiál');

ALTER TABLE "products"
  ADD CONSTRAINT "fk_product_category" FOREIGN KEY ("category") REFERENCES "product_categories" ("ident");
